package cn.iocoder.boot.springai001.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 聊天会话实体
 * <p>
 * 用于管理用户的多个会话
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ChatSession {

    /**
     * 会话ID（主键）
     * 使用纯UUID，与userId解耦
     */
    private String sessionId;

    /**
     * 用户ID
     * 用于关联用户
     */
    private String userId;

    /**
     * 会话名称
     * 用户可读的会话标题
     */
    private String sessionName;

    /**
     * conversationId
     * 用于 ChatMemory 的会话标识
     * 可以与 sessionId 相同，也可以不同
     */
    private String conversationId;

    /**
     * 会话类型/场景
     * 例如: general, file, data, web
     */
    private String sessionType;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 最后活跃时间
     */
    private LocalDateTime lastActiveAt;

    /**
     * 是否置顶
     */
    private Boolean pinned;

    /**
     * 备注
     */
    private String remark;
}

